package com.zhdl.common.interceptor;

import com.zhdl.common.service.RequestService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@Slf4j
public class LoginInterceptor implements HandlerInterceptor {

    @Autowired
    private RequestService requestService;

    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object handler) throws Exception {

//        String token="";
        String userId = "";
        requestService.setCacheUser(userId);
        return true;
//        // 如果不是映射到方法直接通过
//        if (!(handler instanceof HandlerMethod)) {
//            return true;
//        }
//
//
//        HandlerMethod handlerMethod = (HandlerMethod) handler;
//        Method method = handlerMethod.getMethod();
//        //检查是否有 passToken注释，有则跳过认证
//        if (method.isAnnotationPresent(PassToken.class)) {
//            PassToken passToken = method.getAnnotation(PassToken.class);
//            if (passToken.required()) {
//                return true;
//            }
//        }
//
//
//        // 没有加passToken 注解，需要验证token 是否有效和合法检查有没有需要用户权限的注解
//        // 从 http 请求头中取出 token
//        String token ="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIwMDEiLCJleHAiOjE2MTA0MjU3NzQsImlhdCI6MTYxMDM1Mzc3NH0.d1g8uIXU192O73hbuX2A7SLKvXqM3LtKb98LXaN2Ohc";
//        // httpServletRequest.getHeader("token");
//        //验证token
//        boolean tReslut=checkToken(token);
//
//        //验证权限
//        boolean rResult=true;
//
//        return (tReslut&&rResult);
    }

}
